package 动态数组.线性表;


import java.util.Comparator;
import java.util.Iterator;

/**
 * 手写List集合的测试
 */
public class TestArrayList {
    public static void main(String[] args) {
        ArrayList<Integer> list1 = new ArrayList<>();
        ArrayList<Integer> list2 = new ArrayList<>(8);
        System.out.println(list1);
        System.out.println(list2);
        list1.add(3);
        list1.add(5);
        list1.add(1);
        list1.add(4);
        list2.add(3);
        list2.add(5);
        list2.add(1);
        list2.add(4);
        System.out.println(list1);
        System.out.println(list2);
        System.out.println(list1.equals(list2));

        //升序排列
        list1.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o1 -o2;
            }
        });
        //降序排列
        list1.sort(new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                return o2 -o1;
            }
        });
        System.out.println(list1);
        System.out.println(list1.subList(0,3));

        for (int i = 5; i < 12; i++) {
            list1.add(1,i);
        }
        System.out.println(list1);

        System.out.println("---------------------");

        Iterator<Integer> it = list1.iterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }

    }
}
